# 生成 compile_commands.json，供 Clangd 等工具使用
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# 设置最低CMake版本要求
cmake_minimum_required(VERSION 3.10)

# 定义项目名称和版本（可根据实际项目修改）
project(BSP_Project VERSION 1.0 LANGUAGES C CXX)

# 设置C/C++标准（根据项目需求调整版本）
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# 设置编译选项（示例：开启警告和调试信息）
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
    add_compile_options(-Wall -Wextra -g)
else()
    add_compile_options(-O2)
endif()

# 查找 libgpiod 库
find_library(GPIOD_LIB gpiod PATHS ${CMAKE_SOURCE_DIR}/lib)
if(NOT GPIOD_LIB)
    message(FATAL_ERROR "libgpiod not found")
endif()

# 添加头文件搜索路径（根据实际项目目录结构修改）
include_directories(
    ${CMAKE_CURRENT_SOURCE_DIR}
    #include/
    #src/utils/
)

# 收集源文件（根据实际项目目录结构修改）
file(GLOB_RECURSE SOURCES 
    "src/*.cpp" 
    "main.cpp"
)

# 编译为静态库
#add_library(bsp_lib STATIC ${SOURCES})

# 创建可执行文件（如果是库项目可替换为add_library）
add_executable(bsp_app ${SOURCES})

# 如果需要链接外部库，添加链接命令（示例）
 target_link_libraries(bsp_app 
    gpiod)
